break
break
可以完全離開整個迴圈,例如從 3 開始 7 個 7 個一數,數到何時會超過 50 呢?
>>> for i in range(3, 100, 7):
>>> if i > 50:
>>> break
>>> print(i)
>>> print("完成", i)
3
10
17
24
31
38
45
完成 52
一開始並不知道加到多少會停下來,因次設定一個迴圈讓他跑到 100,在途中檢查 i
的值,若是 i
大於 50 就離開迴圈,來到最後一行輸出 完成 52
。
額外挑戰:試試看如何用
while
迴圈來改寫以上程式?
有些時候會刻意去製造一個無限迴圈:
while True:
pass
單純擺一個布林值 True
在 while
後面時,就能製造一個無限迴圈。將無限迴圈與 break
搭配是很常見的手法,例如寫一個簡單的購物車:
>>> apple = 0
>>> banana = 0
>>> while True:
>>> n = int(input("請問你要買什麼? 1=蘋果 2=香蕉 3=離開 >"))
>>> if n == 1:
>>> print("把一顆蘋果放進購物車")
>>> apple += 1
>>> elif n == 2:
>>> print("把一根香蕉放進購物車")
>>> banana += 1
>>> else:
>>> print("結算!")
>>> break
>>>
>>> print(apple, "顆蘋果")
>>> print(banana, "根香蕉")
請問你要買什麼? 1=蘋果 2=香蕉 3=離開 >1
把一顆蘋果放進購物車
請問你要買什麼? 1=蘋果 2=香蕉 3=離開 >2
把一根香蕉放進購物車
請問你要買什麼? 1=蘋果 2=香蕉 3=離開 >1
把一顆蘋果放進購物車
請問你要買什麼? 1=蘋果 2=香蕉 3=離開 >2
把一根香蕉放進購物車
請問你要買什麼? 1=蘋果 2=香蕉 3=離開 >2
把一根香蕉放進購物車
請問你要買什麼? 1=蘋果 2=香蕉 3=離開 >3
結算!
2 顆蘋果
3 根香蕉
雖然也可以把 while
的條件設定為 n != 3
,但是這樣的寫法會讓邏輯的呈現更為井然有序。
來寫一個猜數字遊戲吧!先手動設定一個變數 r
為你的祕密數字,接著不斷從使用者那邊接收輸入 n
,如果 n
比 r
大,就輸出「太大了!」;如果 n
比 r
小,就輸出「太小了!」。最後使用者猜中數字時,使用 break
離開迴圈。
完整的程式碼放在此 Colab 裡面供各位參考。